package com.lsu.memento.experiment;

/**
 * 客户端调用者
 *
 * @Author wang suo
 * @Date 2021/1/4 0004 22:13
 * @Version 1.0
 */
public class Client {
    public static void main(String[] args) {
        // 初始化位置坐标
        State state = new State(100, 100);
        // 发起人
        Originator originator = new Originator();
        // 备忘录的管理者
        Caretaker caretaker = new Caretaker();
        // 设置初始状态
        originator.setState(state);
        System.out.println("小球的初始位置 = " + originator.getState());

        // 创建一个备忘录存储状态
        caretaker.setMemento(originator.createMemento());
        // 修改位置坐标
        originator.setState(new State(200, 300));
        System.out.println("变化之后的位置 = " + originator.getState());

        // 恢复状态
        originator.restoreMemento(caretaker.getMemento());
        System.out.println("恢复后的小球位置 = " + originator.getState());
    }
}
